/*
 * Copyright (c) 2024. hallele, Inc All rights reserved.
 */

package cn.hallele.ms.filecenter.domain.action.apilog;

import cn.hallele.infrastructure.metadata.io.Page;
import cn.hallele.infrastructure.util.DateUtil;
import cn.hallele.ms.filecenter.domain.das.ApiLogDEDas;
import cn.hallele.ms.filecenter.domain.domain.ApiLogDomain;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * api 日志领域服务
 *
 * @author anle5
 * @since 2024/9/18 22:09
 */
@Slf4j
@Service
public class ApiLogDomainService {
    @Autowired
    private ApiLogDEDas apiLogDEDas;

    /**
     * 保存记录
     *
     * @param apiLogDomain 要保存的记录
     */
    public void save(ApiLogDomain apiLogDomain) {
        // 解析ip地址，得到归属地 todo
        apiLogDomain.setCreateTime(DateUtil.nowDate());
        apiLogDEDas.save(apiLogDomain);
    }

    /**
     * 分页+条件查询api日志
     *
     * @param condition 查询条件
     * @param pageNo    页码
     * @param pageSize  每页数量
     * @return 查询结果
     */
    public Page<ApiLogDomain> findAll(ApiLogDomain condition, int pageNo, int pageSize) {
        return apiLogDEDas.findAll(condition, pageNo, pageSize);
    }

    /**
     * 通过id查询api日志
     *
     * @param id id
     * @return 日志记录
     */
    public ApiLogDomain findOneById(Long id) {
        return apiLogDEDas.findOneById(id);
    }
}
